package com.wsoft.form.dto;

import com.wsoft.entity.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

/**
 * <p>
 * 自定义表单-字段表
 * </p>
 *
 * @author Z001
 * @since 2024年08月29日 09:11:06
 */
@Getter
@Setter
@ToString
@Schema(name = "WfFormColumnEntity", description = "自定义表单-字段表")
public class WfFormColumnDTO extends BaseEntity {

    @Schema(description = "id")
    private Long id;

    @Schema(description = "字段名")
    private String columnName;

    @Schema(description = "显示名")
    private String name;

    @Schema(description = "数据表Id")
    private Long tableId;

    @Schema(description = "表单Id")
    private Long formId;

    @Schema(description = "数据表中的字段类型")
    private String columnType;

    @Schema(description = "数据表中的完整字段类型(包括了精度和刻度)")
    private String fullColumnType;

    @Schema(description = "是否为主键")
    private Integer primaryKey;

    @Schema(description = "是否可以为空 (0: 不可以为空 1: 可以为空)")
    private Integer validIsNull;

    @Schema(description = "缺省值")
    private String columnDefault;

    @Schema(description = "字段在数据表中的显示位置")
    private Integer columnSort;

    @Schema(description = "数据表中的字段注释")
    private String columnComment;

    @Schema(description = "对象映射字段名称")
    private String objectFieldName;

    @Schema(description = "对象映射字段类型")
    private String objectFieldType;

    @Schema(description = "字段类别")
    private Integer fieldKind;

    @Schema(description = "包含的文件文件数量，0表示无限制")
    private Integer maxFileCount;

    @Schema(description = "编码规则的JSON格式数据")
    private String encodedRule;

    @Schema(description = "字典Id")
    private String dictCode;

    @Schema(description = "是否为默认字段(0-否，1-是)")
    private Integer isDefault;

}
